home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Pascal Super Library
/
Pascal Super Library (CW International)(1997).bin
/
TURB_VIS
/
TCYBER25
/
COMMON.ZIP
/
TVSTR.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1994-10-20
|
3KB
|
36 lines
{
Turbo Vision CyberTools 2.5
(C) 1994 Steve Goldsmith
All Rights Reserved
}
UNIT TVSTR ;{$I APP.INC} INTERFACE USES DOS , DRIVERS ;CONST STRDOUBLEMAX :EXTENDED =1.7E308 ;
STRDOUBLEMIN :EXTENDED =5E-324 ;FUNCTION INTTOSTR (L :LONGINT ):STRING ;FUNCTION INTTORIGHTSTR (L :LONGINT ;
PLACES :INTEGER ):STRING ;FUNCTION STRTOINT (S :STRING ):LONGINT ;FUNCTION DBLTOSTR (D :DOUBLE ;L ,R:INTEGER ):STRING ;
FUNCTION STRTODBL (S :STRING ):DOUBLE ;FUNCTION TRIMSTR (S :STRING ):STRING ;FUNCTION UPCASESTR (S :STRING ):STRING ;
FUNCTION EXTSTRPOS (S :STRING ;VAR EXTPOS :WORD ):BOOLEAN ;FUNCTION ADDEXTSTR (S ,E:STRING ):STRING ;
FUNCTION GETFILENAMESTR (S :STRING ):STRING ;FUNCTION FILLSTR (C :CHAR ;L :INTEGER ):STRING ;FUNCTION PADRIGHTSTR
(S :STRING ;C :CHAR ;L :INTEGER ):STRING ;FUNCTION TIMESTR :STRING ;
IMPLEMENTATION FUNCTION INTTOSTR (L:LONGINT):STRING ;VAR OO1O:STRING ;BEGIN STR (L , OO1O );INTTOSTR := OO1O END ;
FUNCTION INTTORIGHTSTR (L:LONGINT;PLACES:INTEGER):STRING ;VAR OO1O:STRING ;BEGIN STR (L :PLACES , OO1O );INTTORIGHTSTR :=
OO1O END ;FUNCTION STRTOINT (S:STRING ):LONGINT ;VAR Ol000OO00IlO:INTEGER;OO01:LONGINT;BEGIN VAL (S , OO01 , Ol000OO00IlO
);STRTOINT := OO01 END ;FUNCTION DBLTOSTR (D:DOUBLE;L,R:INTEGER):STRING ;VAR OO1O:STRING ;BEGIN STR (D :L :R , OO1O );
DBLTOSTR := OO1O END ;FUNCTION STRTODBL (S:STRING ):DOUBLE ;VAR Ol000OO00IlO:INTEGER;OIOl:EXTENDED;BEGIN VAL (S , OIOl ,
Ol000OO00IlO );IF ((ABS (OIOl )>= STRDOUBLEMIN )AND (ABS (OIOl )<= STRDOUBLEMAX ))THEN STRTODBL := OIOl ELSE STRTODBL :=
0.0 END ;FUNCTION TRIMSTR (S:STRING ):STRING ;VAR OIlO:WORD;BEGIN WHILE (BYTE (S [ 0 ] )> 0 )AND (S [ BYTE (S [ 0 ] )] <=
' ') DO DEC (BYTE (S [ 0 ] ));OIlO := 1 ;WHILE (OIlO <= BYTE (S [ 0 ] ))AND (S [ OIlO ] <= ' ') DO INC (OIlO );DEC (OIlO
);IF OIlO > 0 THEN DELETE (S , 1 , OIlO );TRIMSTR := S END ;FUNCTION UPCASESTR (S:STRING ):STRING ;VAR OIlO:INTEGER;
BEGIN FOR OIlO := 1 TO BYTE (S [ 0 ] ) DO S [ OIlO ] := UPCASE (S [ OIlO ] );UPCASESTR := S END ;FUNCTION EXTSTRPOS
(S:STRING ;VAR EXTPOS:WORD):BOOLEAN ;VAR OIlO:WORD;BEGIN EXTPOS := 0 ;FOR OIlO := BYTE (S [ 0 ] )DOWNTO 1 DO IF (S [
OIlO ] ='.')AND (EXTPOS =0 )THEN EXTPOS := OIlO ;EXTSTRPOS := (EXTPOS > 0 )AND (POS ('\', COPY (S , SUCC (EXTPOS ),
SIZEOF (PATHSTR )- 1 ))=0 )END ;FUNCTION ADDEXTSTR (S,E:STRING ):STRING ;VAR O10OIIlO0l0lI:WORD;BEGIN IF EXTSTRPOS (S ,
O10OIIlO0l0lI )THEN ADDEXTSTR := COPY (S , 1 , O10OIIlO0l0lI )+ E ELSE ADDEXTSTR := S + '.'+ E END ;
FUNCTION GETFILENAMESTR (S:STRING ):STRING ;VAR OO0O:PATHSTR;OIOO:DIRSTR;OIOl:EXTSTR;BEGIN FSPLIT (S , OIOO , OO0O , OIOl
);GETFILENAMESTR := OO0O END ;FUNCTION FILLSTR (C:CHAR;L:INTEGER):STRING ;VAR OO1O:STRING ;BEGIN FILLCHAR (OO1O [ 1 ] , L
, BYTE (C ));BYTE (OO1O [ 0 ] ):= L ;FILLSTR := OO1O END ;FUNCTION PADRIGHTSTR (S:STRING ;C:CHAR;L:INTEGER):STRING ;
VAR OIlO,OOlI1O10III0:INTEGER;BEGIN OOlI1O10III0 := BYTE (S [ 0 ] )+ 1 ;FOR OIlO := OOlI1O10III0 TO L DO S [ OIlO ] := C
;BYTE (S [ 0 ] ):= L ;PADRIGHTSTR := S END ;FUNCTION TIMESTR :STRING ;VAR OIlO:INTEGER;OIl0:LONGINT;OO1l:ARRAY [ 0 .. 3 ]
OF WORD;O11l0O1I:STRING [ 2 ] ;Ol00IO0II00O:STRING [ 11 ] ;BEGIN Ol00IO0II00O := '';GETTIME (OO1l [ 0 ] , OO1l [ 1 ] ,
OO1l [ 2 ] , OO1l [ 3 ] );FOR OIlO := 0 TO 2 DO BEGIN OIl0 := OO1l [ OIlO ] ;FORMATSTR (O11l0O1I , '%02d', OIl0 );
Ol00IO0II00O := Ol00IO0II00O + O11l0O1I + ':'END ;DEC (BYTE (Ol00IO0II00O [ 0 ] ));TIMESTR := Ol00IO0II00O END ;END .